Tengo algunas preguntas con respecto a los demonios. De hecho, incluso el centro de desarrolladores de macos tiene recursos de información limitados.
Quiero desarrollar un demonio de aplicación que se ejecute después del arranque del sistema sin iniciar sesión.
a) un Demonio; ¿Es una aplicación de consola simple combinada con un plist? Porque casi no hay tutoriales sobre el desarrollo de demonios relacionados con Xcode. Si hay una referencia de muestra de código, ¿puede compartirla aquí?
b) ¿Se pueden descargar demonios de la tienda de aplicaciones? Porque debe haber un software que pueda ofrecer a todos a través de la App Store. ¿La instalación es automática como otras aplicaciones de la tienda de aplicaciones? Si alguien tiene experiencia y puede compartirla, se lo agradecería mucho.
c) Estoy trabajando en una API relacionada con la duplicación de la pantalla en un teléfono Android. ¿Crees que un daemon tiene acceso completo a WiFi/BLE y API de captura de pantalla?
Estaré muy feliz de escuchar sus sugerencias.
Creé un demonio de lanzamiento en el pasado, con el propósito de crear una herramienta de ayuda privilegiada con SMBless . Puedo compartir algo de mi experiencia.
un Demonio; ¿Es una aplicación de consola simple combinada con un plist? Porque casi no hay tutoriales sobre el desarrollo de demonios relacionados con xcode. Si hay una referencia de muestra de código, ¿puede compartirla aquí?
Aquí hay algunos recursos que encontré útiles:
SMJobBless .Codable ) y Blessed (un marco para una interfaz moderna de Swifty para SMJobBless y el marco AuthorizationServices). Maneja gran parte de la complejidad del #1.¿Se pueden descargar demonios de la tienda de aplicaciones? Porque debe haber un software que pueda ofrecer a todos a través de la tienda de aplicaciones. ¿La instalación es automática como otras aplicaciones de la tienda de aplicaciones? Si alguien tiene experiencia y puede compartirla, se lo agradecería mucho.
No. Los distribuiría como parte de una aplicación y haría que su aplicación los instale cuando sea necesario.
Estoy trabajando en una API relacionada con la duplicación de la pantalla en un teléfono Android. ¿Crees que un daemon tiene acceso completo a WiFi/BLE y API de captura de pantalla?
WiFi ciertamente, pero no estoy seguro acerca de las API de captura de pantalla. Una de las diferencias entre los agentes de lanzamiento y los demonios (IIRC) es que solo los agentes de lanzamiento pueden conectarse al servidor de ventanas, lo que supongo que es necesario para las API de captura de pantalla.
De la Nota Técnica TN2083 – Demonios y Agentes :
demonios
Un daemon es un programa que se ejecuta en segundo plano como parte del sistema general (es decir, no está vinculado a un usuario en particular). Un daemon no puede mostrar ninguna GUI; más específicamente, no está permitido conectarse al servidor de ventanas. Un servidor web es el ejemplo perfecto de un demonio.
...
Agentes
Un agente es un proceso que se ejecuta en segundo plano en nombre de un usuario en particular. Los agentes son útiles porque pueden hacer cosas que los demonios no pueden, como acceder de manera confiable al directorio de inicio del usuario o conectarse al servidor de Windows. Un programa de monitoreo de calendario es un buen ejemplo de un agente porque: